package lumis.portal.progress;

import java.sql.Timestamp;
import java.util.Collection;

import lumis.portal.PortalException;
import lumis.portal.dao.DaoException;

/**
 * Dao class for Progress objects
 *
 * @version $Revision: 4942 $ $Date: 2006-11-03 09:10:15 -0300 (Fri, 03 Nov 2006) $
 * @since 4.0.7
 */
public interface IProgressDao
{
	public void add(ProgressConfig progressConfig) throws DaoException, PortalException;

	public Collection<ProgressConfig> getByProcessId(String processId, Timestamp startDateTime) throws DaoException, PortalException;

	public void deleteByProcessId(String processId) throws DaoException, PortalException;

	public void deleteExpired(Timestamp expirationDateTime) throws DaoException, PortalException;

	public void addOrUpdateStep(ProgressConfig progressConfig) throws DaoException, PortalException;

	public boolean getAbortedByProcessId(String processId) throws DaoException, PortalException;
}
